package com.zjitc.exception;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(value = Exception.class)//指定该方法处理所有类型的异常（因为Exception.class是所有异常的基类）。如果需要针对指定特定异常进行处理，可以在此制定具体异常类。
    public ModelAndView defaultErrorHandel(HttpServletRequest req,Exception e){
        ModelAndView mav = new ModelAndView();//创建ModelAndView对象，用于封装视图名称和模型数据
        mav.addObject("exception",e.getMessage());//异常的信息（e.getMessage()）。
        mav.addObject("url",req.getRequestURL());//当前请求的URL（req.getREquestURL()）。
        mav.setViewName("error");//设置视图名称为 "error"，表示跳转到名为error.jsp或error.html的视图页面（取决于项目的视图解析器配置）。
        return mav;
    }
}
